/**
* Copyright (c) By zengqh.
*
* This program is just for fun or demo, in the hope that it  
* will be useful, you can redistribute it and/or modify freely.
*
* Time: 2013/03/27
* File: SceneRenderPass.h
* Blog: http://www.cnblogs.com/zengqh/
**/

#pragma once

namespace HY
{

class SceneRenderPassMgr;
class SceneRenderPass
{
public:
	typedef std::list<SceneNode*> RenderableList;
public:
	RenderSystem* getRenderSys() const;
	uint32 getFlags() const;
	void setFlags(uint32 flags);
	virtual void render(const RenderableList& render_list) = 0;

protected:
	SceneRenderPass(RenderSystem* render_sys);
	virtual ~SceneRenderPass();
protected:
	RenderSystem*	render_sys_;
	uint32				flags_;
};

}